#ifndef __SCENEOBJECTADDCMD_H__
#define __SCENEOBJECTADDCMD_H__

#include <stl/map.h>
#include "command.h"
#include "scene/sceneobjectbase.h"


class CSceneObjectAddCmd: public CCommand{
public:
    CSceneObjectAddCmd( const char* strName, const char* strFileName, float fInitScale, float fHelperRadius, int32 nCellType, int32 nRotationType, ESceneObjectType eSceneObjectType, const char* strExtData, float x, float y, float z, int32 nGridX, int32 nGridY, int32 nBrushSize, int32 nBrushType );
    virtual ~CSceneObjectAddCmd();
    virtual void Init();
	virtual void Final();
    virtual bool32 Redo();
    virtual bool32 Undo();

private:
    uint32 m_nObjectID;
    ESceneObjectType m_eSceneObjectType;

    char m_strName[32];
    char m_strFileName[32];
    float m_fInitScale;
    float m_fHelperScale;
    int32 m_nCellType;
    int32 m_nRotationType;

    int32 m_nBrushSize;
    int32 m_nBrushType;
    float m_fX, m_fY, m_fZ;
    int32 m_nGridX, m_nGridY;

    string m_strExtData;

};

#endif

